Custom Logging (DIY)
Unlock seamless business transaction tracking for any integration platform—even those without built-in tracking or a dedicated Nodinite Logging Agent. This guide empowers you to implement robust, asynchronous, and vendor-neutral Custom Logging with Nodinite.
✅ Effortlessly log business transactions from any system or platform
✅ Achieve reliable, asynchronous logging for maximum performance
✅ Avoid vendor lock-in with flexible, appender-based strategies
✅ Leverage proven templates and connectors for rapid implementation
✅ Monitor, search, and analyze logs in Nodinite for full visibility
Custom Logging with Nodinite lets you track, monitor, and audit business transactions across diverse integration solutions, ensuring compliance and operational excellence.
Diagram: Custom Logging architecture—shows how reusable logging logic in your integration solution produces Nodinite JSON Log Events, which the Pickup Service asynchronously collects and delivers to the Nodinite Log API.
Customers and Partners have successfully used Custom Logging to log business transactions to Nodinite from:
- Apache Camel
- IBM Sterling
- iCore
- Frends
- Ghostnodes
- MoveIT
- TEIS (TietoEvry)
- webMethods (Software AG)
Design Goals
When your integration platform lacks built-in tracking or a Nodinite Logging Agent, you must produce a JSON formatted Log Event and place it on a highly available target (such as a queue, file share, or database).
The Nodinite Pickup Log Events Service Logging Agent fetches your Log Events asynchronously, so you write less custom code, achieve reliable logging, and prevent overloading Nodinite in your custom-built solutions.
Diagram: Two approaches—Async (recommended) and Synchronous logging. Async uses intermediate storage and Pickup Service for reliability and scalability.
- Async Log Event – Asynchronous
- Synchronous Log Event (NOT recommended)
Custom Logging Checklist
Follow these best practices for your Custom Logging strategy:
- Make Custom Logging Asynchronous for reliability and scalability.
- Use an appender-based strategy to avoid vendor lock-in.
- Provide all necessary data:
- Properties (key/value)
- Message Body/Bodies (XML, JSON, Flatfile, CSV, EDIFACT, X12, ...)
- Write custom code with a vendor-neutral abstraction layer to prevent lock-in.
- Reuse a shared custom Logging component to support multiple, replaceable destinations.
Steps
Implement Custom Logging to Nodinite in these steps:
Step 1: Programming Language
Choose your programming language. Use proven NuGet packages or handcraft a solution as specified here.
Logging Templates
- Custom Connector (Mule ESB)
- Hello World - Sample (.NET)
- Azure Functions and .NET 5-8 solutions using a Nodinite Serilog appender
Step 2: Create the JSON Log Event
Write code that creates a Nodinite JSON Log Event.
Step 3: Write to Intermediate Storage
Write the JSON formatted Log Event to an intermediate storage. The Nodinite Pickup Service fetches Log Events from many storage types. Choose the one that fits your needs.
Step 4: Install Nodinite Pickup Service
If you have not already done so, install the Nodinite Pickup Service.
Step 5: Configure Nodinite Pickup Service
Configure the Nodinite Pickup Service for your environment.
Step 6: Monitor the Intermediate Storage
Select a Nodinite Monitoring Agent for your intermediate storage and ensure logging works. Monitor for stockpiled JSON formatted Log Events in the target or backout destination—this helps you catch rejected or malformed events.
See the table in Step 3 for more details.
Step 7: Create Log Views
Now that your Custom Logging solution is in place, you can create Log Views to visualize and search the logged data.
Step 8: Explore Log Views
Explore the Log Views to find and analyze your logged data. Use the built-in search capabilities to filter and sort the data as needed.